package com.google.zxing.multi.qrcode.detector; class MultiFinderPatternFinder { void a() { int a;
a=0;// .class final Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;
a=0;// .super Lcom/google/zxing/qrcode/detector/FinderPatternFinder;
a=0;// 
a=0;// 
a=0;// # static fields
a=0;// .field private static final DIFF_MODSIZE_CUTOFF:F = 0.5f
a=0;// 
a=0;// .field private static final DIFF_MODSIZE_CUTOFF_PERCENT:F = 0.05f
a=0;// 
a=0;// .field private static final EMPTY_RESULT_ARRAY:[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;// .field private static final MAX_MODULE_COUNT_PER_EDGE:F = 180.0f
a=0;// 
a=0;// .field private static final MIN_MODULE_COUNT_PER_EDGE:F = 9.0f
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method static constructor <clinit>()V
a=0;//     .locals 1
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     new-array v0, v0, [Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     #v0=(Reference,[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     sput-object v0, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->EMPTY_RESULT_ARRAY:[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method constructor <init>(Lcom/google/zxing/common/BitMatrix;)V
a=0;//     .locals 0
a=0;// 
a=0;//     invoke-direct {p0, p1}, Lcom/google/zxing/qrcode/detector/FinderPatternFinder;-><init>(Lcom/google/zxing/common/BitMatrix;)V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private selectBestPatterns()[[Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;//     .locals 14
a=0;// 
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->getPossibleCenters()Ljava/util/Vector;
a=0;// 
a=0;//     move-result-object v6
a=0;// 
a=0;//     #v6=(Reference,Ljava/util/Vector;);
a=0;//     invoke-virtual {v6}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     const/4 v0, 0x3
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     if-ge v7, v0, :cond_0
a=0;// 
a=0;//     invoke-static {}, Lcom/google/zxing/ReaderException;->getInstance()Lcom/google/zxing/ReaderException;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/ReaderException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(PosByte);
a=0;//     const/4 v0, 0x3
a=0;// 
a=0;//     if-ne v7, v0, :cond_1
a=0;// 
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     new-array v1, v0, [[Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     #v1=(Reference,[[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     const/4 v0, 0x3
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     new-array v3, v0, [Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     #v3=(Reference,[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     const/4 v4, 0x0
a=0;// 
a=0;//     #v4=(Null);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-virtual {v6, v0}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     aput-object v0, v3, v4
a=0;// 
a=0;//     const/4 v4, 0x1
a=0;// 
a=0;//     #v4=(One);
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     invoke-virtual {v6, v0}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     aput-object v0, v3, v4
a=0;// 
a=0;//     const/4 v4, 0x2
a=0;// 
a=0;//     #v4=(PosByte);
a=0;//     const/4 v0, 0x2
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     invoke-virtual {v6, v0}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     aput-object v0, v3, v4
a=0;// 
a=0;//     aput-object v3, v1, v2
a=0;// 
a=0;//     move-object v0, v1
a=0;// 
a=0;//     :goto_0
a=0;//     #v1=(Conflicted);v2=(Reference,[[Lcom/google/zxing/qrcode/detector/FinderPattern;);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);v11=(Conflicted);v12=(Conflicted);v13=(Conflicted);
a=0;//     return-object v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(PosByte);v1=(Uninit);v2=(Uninit);v3=(Uninit);v4=(Uninit);v5=(Uninit);v8=(Uninit);v9=(Uninit);v10=(Uninit);v11=(Uninit);v12=(Uninit);v13=(Uninit);
a=0;//     new-instance v0, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder$ModuleSizeComparator;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder$ModuleSizeComparator;);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder$ModuleSizeComparator;-><init>(Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder$1;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder$ModuleSizeComparator;);
a=0;//     invoke-static {v6, v0}, Lcom/google/zxing/common/Collections;->insertionSort(Ljava/util/Vector;Lcom/google/zxing/common/Comparator;)V
a=0;// 
a=0;//     new-instance v8, Ljava/util/Vector;
a=0;// 
a=0;//     #v8=(UninitRef,Ljava/util/Vector;);
a=0;//     invoke-direct {v8}, Ljava/util/Vector;-><init>()V
a=0;// 
a=0;//     #v8=(Reference,Ljava/util/Vector;);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v5, v0
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v1=(Conflicted);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Integer);v9=(Conflicted);v10=(Conflicted);v11=(Conflicted);v12=(Conflicted);v13=(Conflicted);
a=0;//     add-int/lit8 v0, v7, -0x2
a=0;// 
a=0;//     if-ge v5, v0, :cond_7
a=0;// 
a=0;//     invoke-virtual {v6, v5}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     if-eqz v0, :cond_6
a=0;// 
a=0;//     add-int/lit8 v1, v5, 0x1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     move v4, v1
a=0;// 
a=0;//     :goto_2
a=0;//     #v4=(Integer);
a=0;//     add-int/lit8 v1, v7, -0x1
a=0;// 
a=0;//     if-ge v4, v1, :cond_6
a=0;// 
a=0;//     invoke-virtual {v6, v4}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v1, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     if-eqz v1, :cond_5
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Float);
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Float);
a=0;//     sub-float/2addr v2, v3
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Float);
a=0;//     invoke-static {v3, v9}, Ljava/lang/Math;->min(FF)F
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     div-float/2addr v2, v3
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     sub-float/2addr v3, v9
a=0;// 
a=0;//     invoke-static {v3}, Ljava/lang/Math;->abs(F)F
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     const/high16 v9, 0x3f000000    # 0.5f
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     cmpl-float v3, v3, v9
a=0;// 
a=0;//     #v3=(Byte);
a=0;//     if-lez v3, :cond_2
a=0;// 
a=0;//     const v3, 0x3d4ccccd    # 0.05f
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     cmpl-float v2, v2, v3
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     if-gez v2, :cond_6
a=0;// 
a=0;//     :cond_2
a=0;//     #v2=(Float);
a=0;//     add-int/lit8 v2, v4, 0x1
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     move v3, v2
a=0;// 
a=0;//     :goto_3
a=0;//     #v9=(Conflicted);
a=0;//     if-ge v3, v7, :cond_5
a=0;// 
a=0;//     invoke-virtual {v6, v3}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v2, Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     if-eqz v2, :cond_4
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Float);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     #v10=(Float);
a=0;//     sub-float/2addr v9, v10
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v11
a=0;// 
a=0;//     #v11=(Float);
a=0;//     invoke-static {v10, v11}, Ljava/lang/Math;->min(FF)F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     div-float/2addr v9, v10
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v11
a=0;// 
a=0;//     sub-float/2addr v10, v11
a=0;// 
a=0;//     invoke-static {v10}, Ljava/lang/Math;->abs(F)F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     const/high16 v11, 0x3f000000    # 0.5f
a=0;// 
a=0;//     #v11=(Integer);
a=0;//     cmpl-float v10, v10, v11
a=0;// 
a=0;//     #v10=(Byte);
a=0;//     if-lez v10, :cond_3
a=0;// 
a=0;//     const v10, 0x3d4ccccd    # 0.05f
a=0;// 
a=0;//     #v10=(Integer);
a=0;//     cmpl-float v9, v9, v10
a=0;// 
a=0;//     #v9=(Byte);
a=0;//     if-gez v9, :cond_5
a=0;// 
a=0;//     :cond_3
a=0;//     #v9=(Float);
a=0;//     const/4 v9, 0x3
a=0;// 
a=0;//     #v9=(PosByte);
a=0;//     new-array v9, v9, [Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     #v9=(Reference,[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     const/4 v10, 0x0
a=0;// 
a=0;//     #v10=(Null);
a=0;//     aput-object v0, v9, v10
a=0;// 
a=0;//     const/4 v10, 0x1
a=0;// 
a=0;//     #v10=(One);
a=0;//     aput-object v1, v9, v10
a=0;// 
a=0;//     const/4 v10, 0x2
a=0;// 
a=0;//     #v10=(PosByte);
a=0;//     aput-object v2, v9, v10
a=0;// 
a=0;//     invoke-static {v9}, Lcom/google/zxing/ResultPoint;->orderBestPatterns([Lcom/google/zxing/ResultPoint;)V
a=0;// 
a=0;//     new-instance v2, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     #v2=(UninitRef,Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     invoke-direct {v2, v9}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;-><init>([Lcom/google/zxing/qrcode/detector/FinderPattern;)V
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getTopLeft()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v10
a=0;// 
a=0;//     #v10=(Reference,Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getBottomLeft()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v11
a=0;// 
a=0;//     #v11=(Reference,Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     invoke-static {v10, v11}, Lcom/google/zxing/ResultPoint;->distance(Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;)F
a=0;// 
a=0;//     move-result v10
a=0;// 
a=0;//     #v10=(Float);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getTopRight()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v11
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getBottomLeft()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v12
a=0;// 
a=0;//     #v12=(Reference,Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     invoke-static {v11, v12}, Lcom/google/zxing/ResultPoint;->distance(Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;)F
a=0;// 
a=0;//     move-result v11
a=0;// 
a=0;//     #v11=(Float);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getTopLeft()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v12
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;->getTopRight()Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     invoke-static {v12, v2}, Lcom/google/zxing/ResultPoint;->distance(Lcom/google/zxing/ResultPoint;Lcom/google/zxing/ResultPoint;)F
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Float);
a=0;//     add-float v12, v10, v2
a=0;// 
a=0;//     #v12=(Float);
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/detector/FinderPattern;->getEstimatedModuleSize()F
a=0;// 
a=0;//     move-result v13
a=0;// 
a=0;//     #v13=(Float);
a=0;//     div-float/2addr v12, v13
a=0;// 
a=0;//     const/high16 v13, 0x40000000    # 2.0f
a=0;// 
a=0;//     #v13=(Integer);
a=0;//     div-float/2addr v12, v13
a=0;// 
a=0;//     const/high16 v13, 0x43340000    # 180.0f
a=0;// 
a=0;//     cmpl-float v13, v12, v13
a=0;// 
a=0;//     #v13=(Byte);
a=0;//     if-gtz v13, :cond_4
a=0;// 
a=0;//     const/high16 v13, 0x41100000    # 9.0f
a=0;// 
a=0;//     #v13=(Integer);
a=0;//     cmpg-float v12, v12, v13
a=0;// 
a=0;//     #v12=(Byte);
a=0;//     if-ltz v12, :cond_4
a=0;// 
a=0;//     sub-float v12, v10, v2
a=0;// 
a=0;//     #v12=(Float);
a=0;//     invoke-static {v10, v2}, Ljava/lang/Math;->min(FF)F
a=0;// 
a=0;//     move-result v13
a=0;// 
a=0;//     #v13=(Float);
a=0;//     div-float/2addr v12, v13
a=0;// 
a=0;//     invoke-static {v12}, Ljava/lang/Math;->abs(F)F
a=0;// 
a=0;//     move-result v12
a=0;// 
a=0;//     const v13, 0x3dcccccd    # 0.1f
a=0;// 
a=0;//     #v13=(Integer);
a=0;//     cmpl-float v12, v12, v13
a=0;// 
a=0;//     #v12=(Byte);
a=0;//     if-gez v12, :cond_4
a=0;// 
a=0;//     mul-float/2addr v10, v10
a=0;// 
a=0;//     mul-float/2addr v2, v2
a=0;// 
a=0;//     add-float/2addr v2, v10
a=0;// 
a=0;//     float-to-double v12, v2
a=0;// 
a=0;//     #v12=(DoubleLo);v13=(DoubleHi);
a=0;//     invoke-static {v12, v13}, Ljava/lang/Math;->sqrt(D)D
a=0;// 
a=0;//     move-result-wide v12
a=0;// 
a=0;//     double-to-float v2, v12
a=0;// 
a=0;//     sub-float v10, v11, v2
a=0;// 
a=0;//     invoke-static {v11, v2}, Ljava/lang/Math;->min(FF)F
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     div-float v2, v10, v2
a=0;// 
a=0;//     invoke-static {v2}, Ljava/lang/Math;->abs(F)F
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     const v10, 0x3dcccccd    # 0.1f
a=0;// 
a=0;//     #v10=(Integer);
a=0;//     cmpl-float v2, v2, v10
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     if-gez v2, :cond_4
a=0;// 
a=0;//     invoke-virtual {v8, v9}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
a=0;// 
a=0;//     :cond_4
a=0;//     #v2=(Conflicted);v9=(Conflicted);v10=(Conflicted);v11=(Conflicted);v12=(Conflicted);v13=(Conflicted);
a=0;//     add-int/lit8 v2, v3, 0x1
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     move v3, v2
a=0;// 
a=0;//     goto/16 :goto_3
a=0;// 
a=0;//     :cond_5
a=0;//     #v2=(Conflicted);v3=(Conflicted);
a=0;//     add-int/lit8 v1, v4, 0x1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     move v4, v1
a=0;// 
a=0;//     goto/16 :goto_2
a=0;// 
a=0;//     :cond_6
a=0;//     #v1=(Conflicted);v4=(Conflicted);
a=0;//     add-int/lit8 v0, v5, 0x1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     move v5, v0
a=0;// 
a=0;//     goto/16 :goto_1
a=0;// 
a=0;//     :cond_7
a=0;//     invoke-virtual {v8}, Ljava/util/Vector;->isEmpty()Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-nez v0, :cond_9
a=0;// 
a=0;//     invoke-virtual {v8}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     new-array v2, v0, [[Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     #v2=(Reference,[[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_4
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     invoke-virtual {v8}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     if-ge v1, v0, :cond_8
a=0;// 
a=0;//     invoke-virtual {v8, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, [Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     aput-object v0, v2, v1
a=0;// 
a=0;//     add-int/lit8 v0, v1, 0x1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     move v1, v0
a=0;// 
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_8
a=0;//     move-object v0, v2
a=0;// 
a=0;//     #v0=(Reference,[[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     goto/16 :goto_0
a=0;// 
a=0;//     :cond_9
a=0;//     #v0=(Boolean);v1=(Conflicted);v2=(Conflicted);
a=0;//     invoke-static {}, Lcom/google/zxing/ReaderException;->getInstance()Lcom/google/zxing/ReaderException;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/ReaderException;);
a=0;//     throw v0
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final findMulti(Ljava/util/Hashtable;)[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;//     .locals 14
a=0;// 
a=0;//     const/4 v13, 0x2
a=0;// 
a=0;//     #v13=(PosByte);
a=0;//     const/4 v12, 0x4
a=0;// 
a=0;//     #v12=(PosByte);
a=0;//     const/4 v1, 0x1
a=0;// 
a=0;//     #v1=(One);
a=0;//     const/4 v4, 0x3
a=0;// 
a=0;//     #v4=(PosByte);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     if-eqz p1, :cond_2
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/DecodeHintType;->TRY_HARDER:Lcom/google/zxing/DecodeHintType;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/DecodeHintType;);
a=0;//     invoke-virtual {p1, v0}, Ljava/util/Hashtable;->containsKey(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_2
a=0;// 
a=0;//     move v0, v1
a=0;// 
a=0;//     :goto_0
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->getImage()Lcom/google/zxing/common/BitMatrix;
a=0;// 
a=0;//     move-result-object v7
a=0;// 
a=0;//     #v7=(Reference,Lcom/google/zxing/common/BitMatrix;);
a=0;//     invoke-virtual {v7}, Lcom/google/zxing/common/BitMatrix;->getHeight()I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     invoke-virtual {v7}, Lcom/google/zxing/common/BitMatrix;->getWidth()I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     int-to-float v3, v8
a=0;// 
a=0;//     #v3=(Float);
a=0;//     const/high16 v5, 0x43640000    # 228.0f
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     div-float/2addr v3, v5
a=0;// 
a=0;//     const/high16 v5, 0x40400000    # 3.0f
a=0;// 
a=0;//     mul-float/2addr v3, v5
a=0;// 
a=0;//     float-to-int v3, v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-lt v3, v4, :cond_0
a=0;// 
a=0;//     if-eqz v0, :cond_10
a=0;// 
a=0;//     :cond_0
a=0;//     move v0, v4
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     const/4 v3, 0x5
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     new-array v10, v3, [I
a=0;// 
a=0;//     #v10=(Reference,[I);
a=0;//     add-int/lit8 v3, v0, -0x1
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     move v6, v3
a=0;// 
a=0;//     :goto_2
a=0;//     #v6=(Integer);v11=(Conflicted);
a=0;//     if-ge v6, v8, :cond_b
a=0;// 
a=0;//     aput v2, v10, v2
a=0;// 
a=0;//     aput v2, v10, v1
a=0;// 
a=0;//     aput v2, v10, v13
a=0;// 
a=0;//     aput v2, v10, v4
a=0;// 
a=0;//     aput v2, v10, v12
a=0;// 
a=0;//     move v5, v2
a=0;// 
a=0;//     #v5=(Null);
a=0;//     move v3, v2
a=0;// 
a=0;//     :goto_3
a=0;//     #v5=(Integer);
a=0;//     if-ge v5, v9, :cond_9
a=0;// 
a=0;//     invoke-virtual {v7, v5, v6}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
a=0;// 
a=0;//     move-result v11
a=0;// 
a=0;//     #v11=(Boolean);
a=0;//     if-eqz v11, :cond_3
a=0;// 
a=0;//     and-int/lit8 v11, v3, 0x1
a=0;// 
a=0;//     #v11=(Integer);
a=0;//     if-ne v11, v1, :cond_1
a=0;// 
a=0;//     add-int/lit8 v3, v3, 0x1
a=0;// 
a=0;//     :cond_1
a=0;//     aget v11, v10, v3
a=0;// 
a=0;//     add-int/lit8 v11, v11, 0x1
a=0;// 
a=0;//     aput v11, v10, v3
a=0;// 
a=0;//     :goto_4
a=0;//     add-int/lit8 v5, v5, 0x1
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Conflicted);v3=(Uninit);v5=(Uninit);v6=(Uninit);v7=(Uninit);v8=(Uninit);v9=(Uninit);v10=(Uninit);v11=(Uninit);
a=0;//     move v0, v2
a=0;// 
a=0;//     #v0=(Null);
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Integer);v3=(Integer);v5=(Integer);v6=(Integer);v7=(Reference,Lcom/google/zxing/common/BitMatrix;);v8=(Integer);v9=(Integer);v10=(Reference,[I);v11=(Boolean);
a=0;//     and-int/lit8 v11, v3, 0x1
a=0;// 
a=0;//     #v11=(Integer);
a=0;//     if-nez v11, :cond_8
a=0;// 
a=0;//     if-ne v3, v12, :cond_7
a=0;// 
a=0;//     invoke-static {v10}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->foundPatternCross([I)Z
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Boolean);
a=0;//     if-eqz v3, :cond_6
a=0;// 
a=0;//     invoke-virtual {p0, v10, v6, v5}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->handlePossibleCenter([III)Z
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     if-nez v3, :cond_f
a=0;// 
a=0;//     :cond_4
a=0;//     add-int/lit8 v5, v5, 0x1
a=0;// 
a=0;//     if-ge v5, v9, :cond_5
a=0;// 
a=0;//     invoke-virtual {v7, v5, v6}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     if-eqz v3, :cond_4
a=0;// 
a=0;//     :cond_5
a=0;//     add-int/lit8 v3, v5, -0x1
a=0;// 
a=0;//     :goto_5
a=0;//     #v3=(Integer);
a=0;//     aput v2, v10, v2
a=0;// 
a=0;//     aput v2, v10, v1
a=0;// 
a=0;//     aput v2, v10, v13
a=0;// 
a=0;//     aput v2, v10, v4
a=0;// 
a=0;//     aput v2, v10, v12
a=0;// 
a=0;//     move v5, v3
a=0;// 
a=0;//     move v3, v2
a=0;// 
a=0;//     #v3=(Null);
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_6
a=0;//     #v3=(Boolean);
a=0;//     aget v3, v10, v13
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     aput v3, v10, v2
a=0;// 
a=0;//     aget v3, v10, v4
a=0;// 
a=0;//     aput v3, v10, v1
a=0;// 
a=0;//     aget v3, v10, v12
a=0;// 
a=0;//     aput v3, v10, v13
a=0;// 
a=0;//     aput v1, v10, v4
a=0;// 
a=0;//     aput v2, v10, v12
a=0;// 
a=0;//     move v3, v4
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_7
a=0;//     #v3=(Integer);
a=0;//     add-int/lit8 v3, v3, 0x1
a=0;// 
a=0;//     aget v11, v10, v3
a=0;// 
a=0;//     add-int/lit8 v11, v11, 0x1
a=0;// 
a=0;//     aput v11, v10, v3
a=0;// 
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_8
a=0;//     aget v11, v10, v3
a=0;// 
a=0;//     add-int/lit8 v11, v11, 0x1
a=0;// 
a=0;//     aput v11, v10, v3
a=0;// 
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_9
a=0;//     #v11=(Conflicted);
a=0;//     invoke-static {v10}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->foundPatternCross([I)Z
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Boolean);
a=0;//     if-eqz v3, :cond_a
a=0;// 
a=0;//     invoke-virtual {p0, v10, v6, v9}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->handlePossibleCenter([III)Z
a=0;// 
a=0;//     :cond_a
a=0;//     add-int v3, v6, v0
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     move v6, v3
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_b
a=0;//     invoke-direct {p0}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->selectBestPatterns()[[Lcom/google/zxing/qrcode/detector/FinderPattern;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,[[Lcom/google/zxing/qrcode/detector/FinderPattern;);
a=0;//     new-instance v3, Ljava/util/Vector;
a=0;// 
a=0;//     #v3=(UninitRef,Ljava/util/Vector;);
a=0;//     invoke-direct {v3}, Ljava/util/Vector;-><init>()V
a=0;// 
a=0;//     #v3=(Reference,Ljava/util/Vector;);
a=0;//     move v0, v2
a=0;// 
a=0;//     :goto_6
a=0;//     #v5=(Conflicted);
a=0;//     array-length v4, v1
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     if-ge v0, v4, :cond_c
a=0;// 
a=0;//     aget-object v4, v1, v0
a=0;// 
a=0;//     #v4=(Null);
a=0;//     invoke-static {v4}, Lcom/google/zxing/ResultPoint;->orderBestPatterns([Lcom/google/zxing/ResultPoint;)V
a=0;// 
a=0;//     new-instance v5, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     #v5=(UninitRef,Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     invoke-direct {v5, v4}, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;-><init>([Lcom/google/zxing/qrcode/detector/FinderPattern;)V
a=0;// 
a=0;//     #v5=(Reference,Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     invoke-virtual {v3, v5}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_6
a=0;// 
a=0;//     :cond_c
a=0;//     #v4=(Integer);v5=(Conflicted);
a=0;//     invoke-virtual {v3}, Ljava/util/Vector;->isEmpty()Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_d
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->EMPTY_RESULT_ARRAY:[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     :goto_7
a=0;//     #v0=(Reference,[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);v2=(Integer);
a=0;//     return-object v0
a=0;// 
a=0;//     :cond_d
a=0;//     #v0=(Boolean);v2=(Null);
a=0;//     invoke-virtual {v3}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     new-array v1, v0, [Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     :goto_8
a=0;//     #v0=(Conflicted);v2=(Integer);
a=0;//     invoke-virtual {v3}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-ge v2, v0, :cond_e
a=0;// 
a=0;//     invoke-virtual {v3, v2}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/detector/FinderPatternInfo;
a=0;// 
a=0;//     aput-object v0, v1, v2
a=0;// 
a=0;//     add-int/lit8 v2, v2, 0x1
a=0;// 
a=0;//     goto :goto_8
a=0;// 
a=0;//     :cond_e
a=0;//     #v0=(Integer);
a=0;//     move-object v0, v1
a=0;// 
a=0;//     #v0=(Reference,[Lcom/google/zxing/qrcode/detector/FinderPatternInfo;);
a=0;//     goto :goto_7
a=0;// 
a=0;//     :cond_f
a=0;//     #v0=(Integer);v1=(One);v2=(Null);v3=(Boolean);v4=(PosByte);v5=(Integer);v11=(Integer);
a=0;//     move v3, v5
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     goto :goto_5
a=0;// 
a=0;//     :cond_10
a=0;//     #v0=(Boolean);v6=(Uninit);v10=(Uninit);v11=(Uninit);
a=0;//     move v0, v3
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     goto/16 :goto_1
a=0;// .end method
}}
